<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Flow-IPC: session/session_fwd.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">Flow-IPC<span id="projectnumber">&#160;2.0.0</span>
   </div>
   <div id="projectbrief">Flow-IPC project: Full implementation reference.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_938858dd290fe54e59e3500689c41d32.html">session</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle"><div class="title">session_fwd.hpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="detail_2session__fwd_8hpp_source.html">ipc/session/detail/session_fwd.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="transport__fwd_8hpp_source.html">ipc/transport/transport_fwd.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="struc__fwd_8hpp_source.html">ipc/transport/struc/struc_fwd.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="util__fwd_8hpp_source.html">ipc/util/util_fwd.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="native__handle_8hpp_source.html">ipc/util/native_handle.hpp</a>&quot;</code><br />
</div>
<p><a href="session__fwd_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceipc"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc.html">ipc</a></td></tr>
<tr class="memdesc:namespaceipc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Catch-all namespace for the Flow-IPC project: A library/API in modern C++17 providing high-performance communication between processes. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespaceipc_1_1session"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html">ipc::session</a></td></tr>
<tr class="memdesc:namespaceipc_1_1session"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flow-IPC module providing the broad lifecycle and shared-resource organization &ndash; via the <em>session</em> concept &ndash; in such a way as to make it possible for a given pair of processes A and B to set up <a class="el" href="namespaceipc_1_1transport.html" title="Flow-IPC module providing transmission of structured messages and/or low-level blobs (and more) betwe...">ipc::transport</a> structured- or unstructured-message channels for general IPC, as well as to share data in SHared Memory (SHM). <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespaceipc_1_1session_1_1sync__io"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session_1_1sync__io.html">ipc::session::sync_io</a></td></tr>
<tr class="memdesc:namespaceipc_1_1session_1_1sync__io"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code><a class="el" href="namespaceipc_1_1session_1_1sync__io.html" title="sync_io-pattern counterparts to async-I/O-pattern object types in parent namespace ipc::session.">sync_io</a></code>-pattern counterparts to async-I/O-pattern object types in parent namespace <a class="el" href="namespaceipc_1_1session.html" title="Flow-IPC module providing the broad lifecycle and shared-resource organization – via the session conc...">ipc::session</a>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a6d07d9996af19e57eb42416e914110ea"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">ipc::session::Shared_name</a> = util::Shared_name</td></tr>
<tr class="memdesc:a6d07d9996af19e57eb42416e914110ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience alias for the commonly used type <a class="el" href="classipc_1_1util_1_1Shared__name.html" title="String-wrapping abstraction representing a name uniquely distinguishing a kernel-persistent entity fr...">util::Shared_name</a>.  <a href="namespaceipc_1_1session.html#a6d07d9996af19e57eb42416e914110ea">More...</a><br /></td></tr>
<tr class="separator:a6d07d9996af19e57eb42416e914110ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade2b302f1a3623e8adc9694568d94d2c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#ade2b302f1a3623e8adc9694568d94d2c">ipc::session::Session_token</a> = transport::struc::Session_token</td></tr>
<tr class="memdesc:ade2b302f1a3623e8adc9694568d94d2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience alias for the commonly used type <a class="el" href="namespaceipc_1_1transport_1_1struc.html#a6751c05fb6582a34c7c47ac470c4a48b" title="A type used by struc::Channel for internal safety/security/auth needs.">transport::struc::Session_token</a>.  <a href="namespaceipc_1_1session.html#ade2b302f1a3623e8adc9694568d94d2c">More...</a><br /></td></tr>
<tr class="separator:ade2b302f1a3623e8adc9694568d94d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab01d5bce0ab2f3435ca9dd88d27609dc"><td class="memTemplParams" colspan="2">template&lt;schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload  = ::capnp::Void&gt; </td></tr>
<tr class="memitem:ab01d5bce0ab2f3435ca9dd88d27609dc"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#ab01d5bce0ab2f3435ca9dd88d27609dc">ipc::session::Server_session</a> = Server_session_mv&lt; Server_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; &gt;</td></tr>
<tr class="memdesc:ab01d5bce0ab2f3435ca9dd88d27609dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">A vanilla <code>Server_session</code> with no optional capabilities.  <a href="namespaceipc_1_1session.html#ab01d5bce0ab2f3435ca9dd88d27609dc">More...</a><br /></td></tr>
<tr class="separator:ab01d5bce0ab2f3435ca9dd88d27609dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77d8fda00e1e17f595a6a5d4c44375e7"><td class="memTemplParams" colspan="2">template&lt;schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload  = ::capnp::Void&gt; </td></tr>
<tr class="memitem:a77d8fda00e1e17f595a6a5d4c44375e7"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#a77d8fda00e1e17f595a6a5d4c44375e7">ipc::session::Client_session</a> = Client_session_mv&lt; Client_session_impl&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; &gt;</td></tr>
<tr class="memdesc:a77d8fda00e1e17f595a6a5d4c44375e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A vanilla <code>Client_session</code> with no optional capabilities.  <a href="namespaceipc_1_1session.html#a77d8fda00e1e17f595a6a5d4c44375e7">More...</a><br /></td></tr>
<tr class="separator:a77d8fda00e1e17f595a6a5d4c44375e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a0eac87b284d50832334d819a8877cbaa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#a0eac87b284d50832334d819a8877cbaa">ipc::session::ensure_resource_owner_is_app</a> (flow::log::Logger *logger_ptr, const fs::path &amp;path, const App &amp;app, Error_code *err_code=0)</td></tr>
<tr class="memdesc:a0eac87b284d50832334d819a8877cbaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility, used internally but exposed in public API in case it is of general use, that checks that the owner of the given resource (at the supplied file system path) is as specified in the given <a class="el" href="structipc_1_1session_1_1App.html" title="A description of an application in this ipc::session inter-process communication universe.">App</a> (<a class="el" href="structipc_1_1session_1_1App.html#a9e32297579603f2d96616976474d0246" title="The application must run as this user ID (UID). Files and other shared resources shall have this owne...">App::m_user_id</a> et al).  <a href="namespaceipc_1_1session.html#a0eac87b284d50832334d819a8877cbaa">More...</a><br /></td></tr>
<tr class="separator:a0eac87b284d50832334d819a8877cbaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7f0052fa0537c3696063693644bcff8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#ac7f0052fa0537c3696063693644bcff8">ipc::session::ensure_resource_owner_is_app</a> (flow::log::Logger *logger_ptr, util::Native_handle handle, const App &amp;app, Error_code *err_code=0)</td></tr>
<tr class="memdesc:ac7f0052fa0537c3696063693644bcff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Identical to the other <a class="el" href="namespaceipc_1_1session.html#a0eac87b284d50832334d819a8877cbaa" title="Utility, used internally but exposed in public API in case it is of general use, that checks that the...">ensure_resource_owner_is_app()</a> overload but operates on a pre-opened <code>Native_handle</code> (a/k/a handle, socket, file descriptor) to the resource in question.  <a href="namespaceipc_1_1session.html#ac7f0052fa0537c3696063693644bcff8">More...</a><br /></td></tr>
<tr class="separator:ac7f0052fa0537c3696063693644bcff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b2f9a90ac9cc5098d9b90e7f547c97e"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#a6b2f9a90ac9cc5098d9b90e7f547c97e">ipc::session::operator&lt;&lt;</a> (std::ostream &amp;os, const App &amp;val)</td></tr>
<tr class="memdesc:a6b2f9a90ac9cc5098d9b90e7f547c97e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="structipc_1_1session_1_1App.html" title="A description of an application in this ipc::session inter-process communication universe.">App</a></code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session.html#a6b2f9a90ac9cc5098d9b90e7f547c97e">More...</a><br /></td></tr>
<tr class="separator:a6b2f9a90ac9cc5098d9b90e7f547c97e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e786447d51449f1249c10e127ab10e2"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#a0e786447d51449f1249c10e127ab10e2">ipc::session::operator&lt;&lt;</a> (std::ostream &amp;os, const Client_app &amp;val)</td></tr>
<tr class="memdesc:a0e786447d51449f1249c10e127ab10e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code>Client_appp</code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session.html#a0e786447d51449f1249c10e127ab10e2">More...</a><br /></td></tr>
<tr class="separator:a0e786447d51449f1249c10e127ab10e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34a03a25908100446b3eca2e8dca61fe"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#a34a03a25908100446b3eca2e8dca61fe">ipc::session::operator&lt;&lt;</a> (std::ostream &amp;os, const Server_app &amp;val)</td></tr>
<tr class="memdesc:a34a03a25908100446b3eca2e8dca61fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="structipc_1_1session_1_1Server__app.html" title="An App that is used as a server in at least one client-server IPC split.">Server_app</a></code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session.html#a34a03a25908100446b3eca2e8dca61fe">More...</a><br /></td></tr>
<tr class="separator:a34a03a25908100446b3eca2e8dca61fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07c2d7a228f070e32bf4f1fbc64e1f6d"><td class="memTemplParams" colspan="2">template&lt;typename <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; </td></tr>
<tr class="memitem:a07c2d7a228f070e32bf4f1fbc64e1f6d"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#a07c2d7a228f070e32bf4f1fbc64e1f6d">ipc::session::operator&lt;&lt;</a> (std::ostream &amp;os, const Session_mv&lt; <a class="el" href="classSession__impl__t.html">Session_impl_t</a> &gt; &amp;val)</td></tr>
<tr class="memdesc:a07c2d7a228f070e32bf4f1fbc64e1f6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1Session__mv.html" title="Implements the Session concept when it is in PEER state.">Session_mv</a></code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session.html#a07c2d7a228f070e32bf4f1fbc64e1f6d">More...</a><br /></td></tr>
<tr class="separator:a07c2d7a228f070e32bf4f1fbc64e1f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed5397fd025606507ad8dab74479762f"><td class="memTemplParams" colspan="2">template&lt;typename Server_session_impl_t &gt; </td></tr>
<tr class="memitem:aed5397fd025606507ad8dab74479762f"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#aed5397fd025606507ad8dab74479762f">ipc::session::operator&lt;&lt;</a> (std::ostream &amp;os, const Server_session_mv&lt; Server_session_impl_t &gt; &amp;val)</td></tr>
<tr class="memdesc:aed5397fd025606507ad8dab74479762f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1Server__session__mv.html" title="Implements Session concept on the Server_app end: a Session that is emitted in almost-PEER state by l...">Server_session_mv</a></code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session.html#aed5397fd025606507ad8dab74479762f">More...</a><br /></td></tr>
<tr class="separator:aed5397fd025606507ad8dab74479762f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a2e780e6c5266b8c2e4207d7e256afe"><td class="memTemplParams" colspan="2">template&lt;typename Client_session_impl_t &gt; </td></tr>
<tr class="memitem:a8a2e780e6c5266b8c2e4207d7e256afe"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#a8a2e780e6c5266b8c2e4207d7e256afe">ipc::session::operator&lt;&lt;</a> (std::ostream &amp;os, const Client_session_mv&lt; Client_session_impl_t &gt; &amp;val)</td></tr>
<tr class="memdesc:a8a2e780e6c5266b8c2e4207d7e256afe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1Client__session__mv.html" title="Implements Session concept on the Client_app end: a Session_mv that first achieves PEER state by conn...">Client_session_mv</a></code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session.html#a8a2e780e6c5266b8c2e4207d7e256afe">More...</a><br /></td></tr>
<tr class="separator:a8a2e780e6c5266b8c2e4207d7e256afe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addd131b7a844d2a22a7436ed0c8597bc"><td class="memTemplParams" colspan="2">template&lt;schema::MqType S_MQ_TYPE_OR_NONE, bool S_TRANSMIT_NATIVE_HANDLES, typename Mdt_payload &gt; </td></tr>
<tr class="memitem:addd131b7a844d2a22a7436ed0c8597bc"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session.html#addd131b7a844d2a22a7436ed0c8597bc">ipc::session::operator&lt;&lt;</a> (std::ostream &amp;os, const Session_server&lt; S_MQ_TYPE_OR_NONE, S_TRANSMIT_NATIVE_HANDLES, Mdt_payload &gt; &amp;val)</td></tr>
<tr class="memdesc:addd131b7a844d2a22a7436ed0c8597bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1Session__server.html" title="To be instantiated typically once in a given process, an object of this type asynchronously listens f...">Session_server</a></code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session.html#addd131b7a844d2a22a7436ed0c8597bc">More...</a><br /></td></tr>
<tr class="separator:addd131b7a844d2a22a7436ed0c8597bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a940cd2019ccc199984a9be7102885f2d"><td class="memTemplParams" colspan="2">template&lt;typename Session &gt; </td></tr>
<tr class="memitem:a940cd2019ccc199984a9be7102885f2d"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session_1_1sync__io.html#a940cd2019ccc199984a9be7102885f2d">ipc::session::sync_io::operator&lt;&lt;</a> (std::ostream &amp;os, const Server_session_adapter&lt; Session &gt; &amp;val)</td></tr>
<tr class="memdesc:a940cd2019ccc199984a9be7102885f2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1sync__io_1_1Server__session__adapter.html" title="sync_io-pattern counterpart to async-I/O-pattern session::Server_session types and all their SHM-awar...">Server_session_adapter</a></code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session_1_1sync__io.html#a940cd2019ccc199984a9be7102885f2d">More...</a><br /></td></tr>
<tr class="separator:a940cd2019ccc199984a9be7102885f2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40698c1f4a71e03d24b1b08dacce961b"><td class="memTemplParams" colspan="2">template&lt;typename Session &gt; </td></tr>
<tr class="memitem:a40698c1f4a71e03d24b1b08dacce961b"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session_1_1sync__io.html#a40698c1f4a71e03d24b1b08dacce961b">ipc::session::sync_io::operator&lt;&lt;</a> (std::ostream &amp;os, const Client_session_adapter&lt; Session &gt; &amp;val)</td></tr>
<tr class="memdesc:a40698c1f4a71e03d24b1b08dacce961b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1sync__io_1_1Client__session__adapter.html" title="sync_io-pattern counterpart to async-I/O-pattern session::Client_session types and all their SHM-awar...">Client_session_adapter</a></code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session_1_1sync__io.html#a40698c1f4a71e03d24b1b08dacce961b">More...</a><br /></td></tr>
<tr class="separator:a40698c1f4a71e03d24b1b08dacce961b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a5d486cecb349cd298b07d53b9872d7"><td class="memTemplParams" colspan="2">template&lt;typename Session_server &gt; </td></tr>
<tr class="memitem:a7a5d486cecb349cd298b07d53b9872d7"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceipc_1_1session_1_1sync__io.html#a7a5d486cecb349cd298b07d53b9872d7">ipc::session::sync_io::operator&lt;&lt;</a> (std::ostream &amp;os, const Session_server_adapter&lt; Session_server &gt; &amp;val)</td></tr>
<tr class="memdesc:a7a5d486cecb349cd298b07d53b9872d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints string representation of the given <code><a class="el" href="classipc_1_1session_1_1sync__io_1_1Session__server__adapter.html" title="sync_io-pattern counterpart to async-I/O-pattern session::Session_server types and all their SHM-awar...">Session_server_adapter</a></code> to the given <code>ostream</code>.  <a href="namespaceipc_1_1session_1_1sync__io.html#a7a5d486cecb349cd298b07d53b9872d7">More...</a><br /></td></tr>
<tr class="separator:a7a5d486cecb349cd298b07d53b9872d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 11 2025 20:02:26 for Flow-IPC by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>
